package cn.xdwanj.ask.util;

import cn.hutool.core.util.IdUtil;

/**
 * @author xdwanj
 */
public class MpGenerator {
  public static void main(String[] args) {
    // FastAutoGenerator.create(
    //     "jdbc:mysql://localhost:3306/ask",
    //     "root",
    //     "123456"
    // ).globalConfig(builder ->
    //     builder.author("XDwanj")
    //         .enableSpringdoc()
    //         .outputDir("/home/xdwanj/TEMP")
    // ).packageConfig(builder ->
    //     builder.parent("cn.xdwanj")
    // ).strategyConfig(builder ->
    //     builder.mapperBuilder()
    //         .formatMapperFileName("%sMapper")
    //         .mapperAnnotation(Mapper.class)
    //         .superClass(BaseMapper.class)
    //
    //         .serviceBuilder()
    //         .formatServiceFileName("%sService")
    //         .formatServiceImplFileName("%sServiceImpl")
    //
    //         .entityBuilder()
    //         .disableSerialVersionUID()
    //         .enableLombok()
    //         .naming(NamingStrategy.underline_to_camel)
    //         .columnNaming(NamingStrategy.underline_to_camel)
    //         .addTableFills(new Column("create_time", FieldFill.INSERT))
    //         .addTableFills(new Column("update_time", FieldFill.INSERT_UPDATE))
    //
    //         .controllerBuilder()
    //         .formatFileName("%sController")
    //         .enableRestStyle()
    // ).templateEngine(new FreemarkerTemplateEngine())
    //     .execute();
    var id = IdUtil.getSnowflakeNextId();
    long count = 0L;
    while (true) {
      count++;
      if (count % 10000000 == 0) {
        System.out.println("count = " + count);
        System.out.println("--------------------");
      }

      if (IdUtil.getSnowflakeNextId() == id) {
        System.out.println("id = " + id);
        break;
      }
    }
  }
}
